<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  function add() {
    var sum = 0;
    // console.log(arguments);
    // console.log(arguments.length);
    for (i = 0; i < arguments.length; i++) {
      // console.log(arguments);
      var item = arguments[i];
      sum += item;

    }
    return sum;
  }
  // add(1, 2, 3, 4, 5, 6)
  var result = add(1, 2, 3, 4, 5, 6)
  console.log(result);
</script>
<script>
  // function add(a,b){  //两个数求和
  //     return a + b;
  // }
  // // var result = add(1,2);
  // // console.log(result);

  // var result = add(1,2,3,4,5);
  // console.log(result);

  // function add(a,b,c,d,e,f,g,h,i){
  //     return a+b+c+d+e+f+g+h+i;
  // }
  // // var result = add(2,8,4,6,5,7,9,3,1);
  // // console.log(result);

  // var result = add(2,8,4,6,5,7,9,3);
  // console.log(result);



  // 需求: 封装一个函数,传入一个或多个参数,计算它们的和?

  // arguments 函数的内置参数(所有的函数都有)
  // 作用: 将函数在每次调用过程中,传入的实际参数,用一个集合存储起来

  // arguments的特性:
  // 1. 有length属性 ,表长度(函数在调用过程中传入的实际参数的个数)
  // 2. 可以通过下标取值和赋值    下标的最大值 = arguments.length-1  (下标从0开始) 
  // 3. 可以被循环遍历(按顺序依次获取集合中的每一个值)  


  // function add() {
  //   console.log(arguments);

  // 1. length
  // console.log(arguments.length);

  // 2.
  //  下标取值
  // console.log(arguments[6]);

  // 下标赋值
  // arguments[6] = 90;
  // console.log(arguments);

  // 3. 按顺序依次获取集合中的每一个值(集合中的元素)  => 循环遍历
  // console.log(arguments[0]); // 最小
  // console.log(arguments[1]);
  // console.log(arguments[2]);
  // console.log(arguments[3]);
  // console.log(arguments[4]);
  // console.log(arguments[5]);
  // console.log(arguments[6]);
  // console.log(arguments[7]);
  // console.log(arguments[8]);
  // console.log(arguments[9]); //下标最大值 = arguments.length-1

  // i<arguments.length  等价于 i<=arguments.length-1
  // for (var i = 0; i < arguments.length; i++) {
    // i  0 - 9
  //   console.log(arguments[i]);
  // }
  // }
  // var result = add(2, 8, 4, 6, 5, 7, 9, 3, 1, 10);
  // var result = add(1,5,8,4);
  // console.log(result);









</script>

</html>